// 把搜索相关的放在这里管理
import { reqSearchGoodsList } from "../../api/search";
/* 
    问题1：vuex中到底要管理哪些数据
    goodsList商品列表
    tradmarkList品牌列表
    attrsList:[],属性列表
    total:0,分页总数
 */
// 存储数据
const state = {
  goodsList: [], //商品列表
  trademarkList: [], //品牌列表
  attrsList: [], //属性列表
  // 给分页器使用
  total: 0, //分页总数
};
// 存储只读的计算属性数据
const getters = {};

// 间接更新的方法(一般都是要发送请求)
const actions = {
  async searchGoodsList({ commit }, options) {
    // options就是搜索的条件，由外面传进来
    console.log('查看接口是否調用')
    try {
      const res = await reqSearchGoodsList(options);
      commit("SEARCH_GOODS_LIST", res);
    } catch (e) {
      console.log(e);
    }
  },
};

// 直接更新的方法
const mutations = {
  SEARCH_GOODS_LIST(state, res) {
    state.total = res.total;
    state.goodsList = res.goodsList;
    state.trademarkList = res.trademarkList;
    state.attrsList = res.attrsList;
  },
};

export default {
  namespaced: true, //启用命名空间
  state,
  getters,
  actions,
  mutations,
};
